//
// Created by tacom on 22-9-6.
//

#include "MPDemo.h"

void MPDemo::parallelPrintTest() {
    // 不指定的时候调用总线程数量
#pragma omp parallel
    {
        std::cout << "Test";
    }

    std::cout << std::endl;

    // 线程数量指定
#pragma omp parallel num_threads(6)
    {
        std::cout << "ask for 6 thread" << std::endl;
    }
}

void MPDemo::parallelWithLoop() {
    // 任务会平均分配
#pragma omp parallel for num_threads(2)
    for(int i = 0; i < 12; ++i){
        std::cout << "OpenMP Test, thread Idx is: " << omp_get_thread_num();
        std::cout << std::endl;
    }

}

int main(){
//    MPDemo::parallelPrintTest();
    MPDemo::parallelWithLoop();
}
